查看原文
其他

讨论下全球数据库行业的发展趋势

康健 分布式实验室 2023-01-28

又是一年过去,到了给数据库最新趋势做番回顾的时候了。业界倒是安静,因为DBMS厂商之间的标准之争已经平息。闲言少叙,咱们马上进入正题。


 1 
大数据库投入放缓已成常态


去年我就提到,2021年可以说是数据库投资的丰收之年。随着投资者们迫切想要找寻下一个Snowflake,大量资金被投向新兴DBMS企业。2022年初,这波潮流仍在持续,成规模的融资一轮接着一轮。

狂欢从2月Timescale的1.1亿美元C轮融资、Voltron Data的1.1亿美元种子+A轮融资和Dbt Labs的2.22亿美元D轮融资开始。Starburst于3月公布了2.5亿美元的D轮融资,旨在扩大其Trino产品。Imply在5月为其商业版Druid筹集了1亿美元的D轮融资。DataStax在6月的IPO中获得1.15亿美元。最后则是SingleStore在7月放出了1.16亿美元的F轮融资,随后于10月又追加3000万美元。

2022年上半年,其他几家体量较小的公司也完成了令人印象深刻的A轮融资,包括Neon无服务器PostgresSQL产品的3000万美元A轮,ReadySet查询缓存层的2900万美元A轮,Convex PostgreSQL应用程序框架的2600万美元A轮,以及QuestDB为其时序DBMS进行的1500万美元A轮。虽然期间并未推出新的DBMS或者相关基础设施,但OtterTune仍然在4月完成了1200万美元的A轮融资。

可随后,大规模融资在2022年下半年戛然而止。虽有小型初创融资,但再无任何上亿的成规模活动。RisingWave在10月为其流处理引擎完成了3600万美元的A轮融资;Keebo为其Snowflake查询加速器完成了1050万美元的A轮融资;11月,我们又看到MotherDuck为DuckDB云版本的商业化完成4500万美元种子+A轮融资;同样在11月,EdgeDB完成了1500万美元A轮。最后是SurrealDB拿下600万美元种子轮融资。这里可能还不够全面,但体量上的萎缩还是显而易见。

数据库中另一场值得注意的融资事件发生在12月,就是MariaDB灾难性的IPO,其股价在交易首日就下跌了40%。

我的观点

跟2021年相比,2022年大型融资轮次减少主要有两大原因。

首先就是整个科技行业有所降温,主要源自人们对于通货膨胀、利率上升和加密货币经济崩溃的担忧。另一个原因是,真正具有潜力的厂商已经基本完成了自己的主要融资轮次。

例如,Starburst就在2021年的1亿美元C轮融资后,又在2022年上半年完成了D轮融资。过去两年间已经拿下大量资金的数据库厂商仍想吸引更多资金来保持高速增长,但人们对其惊人的烧钱速度已经有些招架不住。

坏消息是,除非科技行业整体回暖且大型机构投资者再次拿出真金白银,否则这些企业将陆续陷入困境。市场养不起这么多独立的数据库软件供应商,这些估值数十亿美元的企业要么成功上市、要么宣布破产。

而对大多数买家来说,他们的要价太高(除非风险投资公司愿意大幅压低回报预期)。此外,亚马逊、谷歌和微软等有望开展收购的科技巨头们已经拥有自己的云数据库产品,所以这些初创公司一时之间找不到有希望的买家。

亚马逊已经从Redshift身上每年赚取几十亿美元,所以按2021年20亿美元的估值收购Clickhouse将毫无意义。这绝不是困扰特定OLAP数据库厂商的小问题,而是笼罩在所有初创企业头顶的大乌云。

我也不是唯一一个看衰数据库初创企业的预测者。Gartner方面也给出结论,称到2025年,将有50%的独立DBMS厂商归于破产。不敢说准不准确,但我觉得最终能活下来的厂商应该是那些能改进/增强现有DBMS方案,而非将其取代的厂商——比如Dbt、ReadySet、Keebo和OtterTune。

我也不知道MariaDB这种走捷径快速上市的办法到底好不好。SPAC这类金融工具超出了我的专业范畴,但考虑前美国总统特朗普也打算用同样的方法推动自己的社交媒体公司上市,我觉得这事真的不怎么靠谱。


 2 
区块链数据库仍然停留在玩笑阶段


这一年,总有些疯狂的观点在宣扬Web 3如何彻底颠覆人们开发新应用的方式。但我在学校里是教数据库课程的,所以跟很多学生就Web 3展开过激烈讨论。

Web 3运动的核心理念,是将状态存储在区块链数据库中。区块链在本质上就是去中心化的日志结构数据库(即分类帐),它使用Merkle树的某些变体和BFT共识协议来维护增量校验和,借此确定哪些更新可以被添加至数据库当中。这些增量校验和是区块链保障数据库日志记录不可变的唯一方式——客户端会使用这些校验和来验证以往的数据库更新是否受到过篡改。

区块链的思路确实巧妙,但我觉得坚称去中心化分类账应该成为未来一切OLTP应用程序构建基础的想法很有问题。从数据库的角度来看,对于加密货币以外的任何用例,其都无法提供超越现有DBMS技术的任何优势。另外,任何声称区块链数据库能在安全性和可审计性方面超越现有DBMS的说法,都是在扯淡。

所以,如果说加密货币就是区块链数据库的最佳用例,那么加密货币市场在2022年的崩溃只会进一步压缩区块链数据库的生存空间。这里我不想讨论FTX交易所的崩溃,因为这属于金融欺诈,跟数据库没什么关系。而且需要指出的是,跟其他加密货币交易所一样,FTX的业务并非基于区块链数据库,他们用的是PostgreSQL。至于其他一切跟加密货币无关的区块链数据库用例,包括交易和游戏平台,都因为现实问题或存在欺诈而一一失败。

我的观点

在评估技术时,首先需要遵循一条铁律:一旦IBM为其制作了宣传广告,那这东西就不再“新鲜”了。换言之,IBM只会宣传那些存在令人信服用例的技术。

例如,IBM曾在2002年的一则商业广告中将Linux吹捧为热门事物,但当时已经有包括谷歌在内的几千家公司其将作为主服务器操作系统。所以在IBM于2018年发布区块链商业广告时,我就觉得这东西不可能在加密货币之外再开拓出什么新空间了,去中心化区块链也找不到什么集中式DBMS完全无法解决的问题。所以在意料之中,IBM今年宣布将关闭与航运巨头马士基合作的供应链IT基础设施改造项目。

跟由受信机构控制、只允许受信客户端接入的事务性DBMS相比,区块链的效率简直低得可怕。除了加密货币和金融欺诈等活动之外,几乎一切现实交互都没法以这么低效的方式进行。请接受现实,我们就是得信任他人才能建立起运转良好的社会。比如,我会授权网站托管公司从信用卡里扣款,我会信任云服务商托管自己的软件。为什么非得打破这种牢靠的信任,把负载交给区块链数据库呢?

从工作证明(PoW)转换到电耗更低的权益证明(PoS),新的共识机制确实提高了区块链数据库的性能。但其数据吞吐量仍然远不够看:区块链交易的延迟仍然以几十秒计。如果解决高延迟的办法就是选择参与者较少的PoS区块链,那我宁愿继续用传统的PostgreSQL并对参与者执行身份验证。

之前曾有文章提到,AWS早在2016年就得出了结论,称区块链数据库是一种先有答案、再反过来找问题的工具。尽管AWS最终在2018年推出了QLDB服务,但它跟区块链并不是一回事!这是一个不用BFT共识的集中式可验证分类帐。而且跟大获成功的Aurora产品相比,客户对QLDB的认可度一直不高。

旁注1:我最近参加了SFO会议的小组讨论,SBF也从巴哈马飞来参会。SBF一登台就赢得了全场欢呼,但我个人觉得SBF对于主持人问题的作答“没啥营养”。

旁注2:在FTX崩溃的三周之前,曾有人提到FTX团队里的全职工程师很少,只跟OtterTune相当。这可真是个谁敢吹,谁就能发财的神奇时代。


 3 
新型数据库系统


这一年中,也有几条关于新型DBMS软件的重要公告。

Google AlloyDB

今年最重磅的炸弹,来自Google Cloud在5月公布的全新数据库服务。AlloyDB并非以Spanner为基础,而是PostgreSQL的魔改版本。它把计算层跟存储层分开,并支持直接在存储内处理WAL记录。

Snowflake Unistore

6月,Snowflake公布了带有“混合表”的全新Unistore引擎,能支持DML操作的低延迟事务。在查询更新表时,变更会传播至Snowflake的列式存储。SingleStore对此表示不满,并强调他们在这方面拥有一系列专利,但后边也没什么动静。

MySQL Heatwave

在甲骨文意识到亚马逊靠MySQL赚的钱比他们这位本主还多时,他们终于决定在2022年构建自己的云MySQL产品。但他们并没有简单开发RDS克隆,而是倒扣出了名为Heatwave的内存内矢量化OLAP引擎产品。去年,甲骨文宣布他们的MySQL服务也支持自动数据库优化。到2022年,甲骨文终于意识到自己在云市场上没啥排面,同意在AWS上支持MySQL Heatwave。

Velox

Meta从2020年开始就在开发Velox,想把它作为PrestoDB的新执行引擎。两年之后,他们正式公开了项目并发表一篇VLDB论文。Velox并不算是完整的DBMS,它没有SQL解析器,也不具备目录、优化器或网络支持。相反,它就是一套带有内存池和存储连接器的C++可扩展执行引擎。用户可以通过Velox构建起成熟的DBMS。

InfluxDB IOx

跟Meta的Velox差不多,Influx团队过去两年来也在努力开发新的IOx引擎。最终,他们于10月为新引擎推出了通用版本。InfluxDB以DataFusion和Apache Arrow从零开始构建了IOx。值得庆幸的是,我曾在2017年警告Influx的CTO千万别用MMAP,于是他在新系统中放弃了MMAP。

我的观点

数据库算是我生命中第二重要的事物,所以我很高兴看到行业在过去一年间的持续发展。

我之所以关注AlloyDB,是因为它是套简洁的系统,而且投入了大量工程努力。可问题是,我没从中看到什么新颖的元素。AlloyDB的架构跟Amazon Aurora和Neon差不多,其中的DBMS存储搭配额外的计算层来独立于计算节点之外处理WAL记录。所以虽然已经拥有可靠的数据库产品组合(例如Spanner和BigQuery),但Google Cloud还是觉得有必要开发AlloyDB来缩小同亚马逊和微软间的差距。

Velox、DataFusion和Polars等框架的诞生,则掀起一波值得关注的长期趋势。连同像Substrait这样的项目,查询执行组件的商品化意味着所有OLAP DBMS在未来五年内都将高度同质化。

与其从零开始构建新DBMS或者对现有系统进行硬分叉(例如Firebolt对Clickhouse进行分叉),也许选择Velox这类可扩展框架才是更好的选择。换言之,一切DBMS都将像十年前的Snowfalke那样具备矢量化执行能力。由于运行在云端,每个DBMS的存储层也都是相同的(例如亚马逊提供的EBS/S3),这样不同方案间就只剩下一些难以量化的差异了,例如看谁的UI/UX和查询优化做得更好。


 4 
一位数据库先驱的逝去


令人沮丧的是,我们在2022年7月失去了Martin Kersten。Martin是CWI的一名研究员,曾领导多个极具影响力的数据库项目,包括1990年代首个分布式内存DBMS(PRISMA/DB)和2000年代首个列式OLAP DBMS(MonetDB)。Martin于2020年被荷兰政府授予皇家爵士头衔,奖励他在数据库方面的卓越贡献。

MonetDB代码库也成为其他多个OLAP系统项目的基础。在2000年代后期,Peter Boncz和Marcin Zukowski将其分叉成了MonetDB/X100,之后又商业化为Vectorwise(也就是现在的Actian Vector)。Marcin随后利用原始MonetDB代码上开发出的多项技术联合开创了Snowflake。接下来就是Hannes Mühleisen开发出了名为MonetDBLite的MonetDB嵌入式版本,之后又把成果重写成了现在的DuckDB。

Martin为现代数据库系统做出了不可磨灭的贡献。如果大家用过任何现代分析型DBMS(例如Snowflake、Redshift、BigQuery、Clickhouse等),就一定享受过Martin及其学生在过去30年中缔造出的开创性成果。

我的观点

我承认,跟Mike Stonebraker相比,Martin在数据库研究领域之外的知名度远远不及。我一直觉得Martin就像是欧洲版的Stonebraker:他们都是高产的数据库研究人员,又高又瘦、戴着眼镜、年龄也相仿。但Martin绝不是山寨货,而是货真价实的绝代双星之一。

除了研究之外,Martin总是为人慷慨,乐于同任何人讨论数据库架构。在新冠疫情之前,我最后一次见他是在VLDB 2019会上。他跟我争论了快一个小时,解释他为什么认为在MonetDB中使用MMAP是正确的选择。他表示因为MonetDB专注于只读类OLAP工作负载,所以MMAP就足够了。我觉得不是,但他太固执了,甚至跑到我YouTube课程的评论区里搞宣传、跟看我课的学生强调MonetDB为什么要这么设计。

现在他不在了,我真的很后悔。如果能再来一次,我绝不会把跟他交流的机会浪费在争论MonetDB要不要用MMAP之类的蠢事上。


 5 
靠数据库赚来的财富拯救民主制度


我想给这篇文章设计个圆满的收尾,毕竟数据库本身就是为了改善人们的生活而存在。它代表着科学与工程突破的一座高峰,让我们能够组织关于现代生活中各个层面的数据。所以最后,我想聊聊数据库领域中的一股正能量。

2022年5月,《华盛顿邮报》称甲骨文创始人Larry Ellison受邀参加了2020年11月美国总统及其他保守派领导人在选举后电话会议。会议的重点,是讨论总统的盟友和技术领导们能用哪些策略推翻选举结果。报道称,并不清楚这次会议为什么会拉上Larry参加。有猜测是,Larry技术背景非常强大,所以可能想叫上他讨论有没有可能利用意大利卫星操纵气隙投票机。

我的观点

Larry和我都烦透了人们总说他支持美国右翼事业的传闻。这些无良报道真的很过分,搞得好像Larry参加这场电话会议会成为人生污点一样。我倒觉得他能用自己的财富和影响力参与其中是对的,毕竟保障选举的自由和公正绝非小事。我不光支持Larry参加这次讨论,还支持他花3.7亿美元进行抗衰老研究,并投资10亿美元帮马斯克买下Twitter。这就是我的观点。


 6 
新的一年,充满希望


回顾2022年,以下变化让我印象深刻:

  1. OtterTune于4月完成了A轮融资。

  2. 我带的最优秀的一名博士生,成了密歇根大学的数据库专业教授。

  3. 7月,我成了卡耐基梅隆大学的终身教授,只要不犯大错就能永不被解雇。

  4. 9月,我又回到学校开始了全职教学。

大概就说到这里吧。关于个人和OtterTune的计划,我打算明年上半年发布完全重写的数据库自动化服务,感兴趣的朋友可以先试试我们仍在开发的预览版。2022年充满坎坷和动荡,祝愿新的一年万事顺遂、充满希望。


推荐阅读:


分布式实验室策划的《Kubernetes实战集训营》正式上线了。这门课程通过5天线上培训,4个课后大作业,40天课后辅导,把Kubernetes的60多个重要知识点讲给你,并通过实战让你掌握Kubernetes。培训重实战、重项目、更贴近工作,边学边练,2月25日正式开课。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存